Cmo aadir actualizaciones al programa actualizador
-------------------------------------------------------------------------------

1.1. Introduccin
------------------------
Este programa ha sido diseado para instalar de forma rpida y sencilla todas las actualizaciones correspondientes a un determinado sistema operativo.
Casi toda la informacin que muestra en pantalla es configurable mediante el archivo "Actualizador.ini" que acompaa al programa. Se trata de un archivo de texto, que es posible abrir con cualquier programa editor de texto y modificar a nuestro gusto. En el apartado 2 de este documento se detalla cada una de las secciones que componen dicho archivo.

1.2. Archivos importantes
-------------------------------------
Si piensas modificar el archivo INI y aadir tus propias actualizaciones, los archivos que son necesarios para el funcionamiento del programa y que no debes borrar son:

Actualizador.exe --> El ejecutable del programa.
Actualizador.ini --> El archivo con la info sobre las actualizaciones.

2.1. Secciones del archivo INI
-------------------------------------------
Este archivo est compuesto por 3 tipos de secciones:
[General]  ---> Incluye los parmetros de uso general del programa.
[Entradax] ---> En cada entrada (donde x es el nmero de orden) se especifican los datos correspondientes a cada actualizacin.
[Utilidades]---> Permite configurar los botones correspondientes a la pestaa "Utilidades".

2.2. Seccin [General]
---------------------------------
Dentro de esta seccin se especifican los parmetros generales referidos al programa. Las entradas son:

* Ventana= Permite especificar el nombre que tendr la ventana del programa.

* ComprobarRegistro= Si se quiere hacer una comprobacin previa acerca de si existe una clave determinada en el registro, aqu se puede especificar. Si no existe dicha clave, el programa mostrar el mensaje que se especifique en el parmetro siguiente (Aviso). Si existe, simplemente continuar la ejecucin normalmente.

La clave del registro puede consistir en una rama determinada, en cuyo caso se especificar solamente el nombre de la rama.Por ejemplo:

	Registro="HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\667FCD348386A9F4C8199DD25A68FD7A"

O tambin es posible especificar un valor para una variable determinada dentro de una rama, en cuyo caso se deber especificar el nombre de dicha variable con su ruta de rama completa, y el valor con el que debe coincidir, en la entrada "Valor Registro". Por ejemplo:

	Registro="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\	Installed Components\{4f645220-306d-11d2-995d-00c04f98bbc9}\Version"
	ValorRegistro="5,6,0,8513"

Si no se quiere comprobar ninguna clave en especial del registro, se puede omitir esta entrada.

* ValorRegistro= El valor que debe tener una variable determinada, si se ha especificado el nombre de la variable en la entrada "Registro". Si en "Registro" se ha especificado simplemente una rama, la entrada "Valor Registro" se debe omitir.

* Aviso= El contenido del mensaje que se mostrar si no se encuentra la clave de registro especificada en "Comprobar Registro"

2.3. Secciones [Entradax]
--------------------------------------
Habr una seccin "Entrada" para cada actualizacin, e irn numeradas de forma consecutiva (Entrada1, Entrada2, etc). Dentro de cada una de ellas van las siguientes entradas:

* Categoria= Permite especificar la categora a la cual pertenecer la descarga. Dichas categoras son en realidad los nombres de las pestaas que servirn para agrupar las actualizaciones (por ejemplo Windows, Internet Explorer, etc).

* Nombre= Nombre por el que se identificar la actualizacin.

* Fecha= Fecha de aparicin de la actualizacin (en formato dd/mm/aaaa, o dd-mm-aaaa)

* Archivo= Archivo a ejecutar para instalar la actualizacin. Debe especificarse tambin la ruta de dicho archivo, siempre relativa a la ubicacin del archivo INI. Por ejemplo, si el archivo se llama "Actualiza.exe", y est dentro de una carpeta llamada "Act1", que est ubicada dentro de la misma carpeta que el archivo INI, la entrada sera 

Archivo="Act1\Actualiza.exe".

* Param= Parmetros a pasarle al programa especificado en la entrada anterior (por ejemplo, para que se ejecute en "modo silencioso", o no reinicie al finalizar).

* Registro = Clave del registro a comprobar para saber si dicha actualizacin ya est instalada.

La clave del registro puede consistir en una rama determinada, en cuyo caso se especificar solamente el nombre de la rama.Por ejemplo:

	Registro="HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\667FCD348386A9F4C8199DD25A68FD7A")

O tambin es posible especificar un valor para una variable determinada dentro de una rama, en cuyo caso se deber especificar el nombre de dicha variable con su ruta de rama completa, y el valor con el que debe coincidir, en la entrada "Valor Registro". Por ejemplo:

	Registro="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\	Installed Components\{4f645220-306d-11d2-995d-00c04f98bbc9}\Version"
	ValorRegistro="5,6,0,8513"

* ValorRegistro= El valor que debe tener una variable determinada, si se ha especificado el nombre de la variable en la entrada "Registro". Si en "Registro" se ha especificado simplemente una rama, la entrada "Valor Registro" se debe omitir.

* Log= Si no quieres utilizar el registro para comprobar si una actualizacin se encuentra ya instalada o no, otra buena opcin es comprobar si existe un archivo determinado. Por ejemplo, la mayora de las actualizaciones crticas de Windows, al instalarse crean un archivo .LOG en la carpeta donde est instalado Windows (por ejemplo, si instalas la actualizacin Q345623, se crea el archivo Q345623.log). Aqu puedes especificar el nombre de ese archivo, y el programa comprobar si ya existe (en cuyo caso la actualizacin ya estara instalada), o si no existe (actualizacin sin instalar).

El programa buscar por defecto en la carpeta donde se encuentra instalado Windows, o sea que si el archivo se crea en otra carpeta habr que indicarle tambin la ruta (por ejemplo, si se crea en System32, la entrada sera Log="System32\Q345623.log".

El nombre de archivo que se especifica puede ser cualquiera. Si, por ejemplo, una actualizacin al instalarse crea un archivo llamado Parche.exe, ese nombre tambin se puede utilizar para comprobar si esa instalacin se ha realizado o no.

Si ya has utilizado la entrada anterior (Registro) para comprobar si una actualizacin est o no instalada, esta entrada (Log) se debe omitir.

*ReqPrevio= Permite especificar una clave del registro que debe estar presente para que la actualizacin pueda ser instalada (por ejemplo, si se trata de una actualizacin de una utilidad determinada, con esta entrada se puede comprobar si esa utilidad est realmente instalada en el sistema o no). Si no se encuentra la entrada del registro especificada en ReqPrevio, la actualizacin aparecer como deshabilitada en la lista (no ser posible marcarla).

*ValReqPrevio= Valor que debe tener la variable determinada en ReqPrevio (ver ValorRegistro).

* Tipo= Permite especificar el tipo de actualizacin que es (Crtica, Importante, etc).

* Info= Informacin que se mostrar al seleccionar la actualizacin.

* MarcarPorDefecto= Permite especificar si se desea que la actualizacin aparezca marcada por defecto si no est instalada (MarcarPorDefecto=1), o si se prefiere que no aparezca marcada (MarcarPorDefecto=0). Si no se especifica esta opcin, la actualizacin aparecer marcada.

2.4. Seccin Utilidades
----------------------------------
Aqu se puede especificar el contenido y funcin de los botones que se encuentran en la pestaa "Utilidades". Se pueden especificar tantos botones como se desee. Si el nmero de botones fuera mayor al espacio disponible en la ventana, aparecer una barra de desplazamiento que permitir acceder a los botones que queden ocultos. Las entradas para esta seccin son:

* Botonx= (Donde x es el nmero del botn). El nombre que mostrar el botn nmero x.

* Tipx= (Donde x es el nmero del botn). La "pista" que se mostrar al dejar el ratn sobre el botn nmero x.

* Iconox= (Donde x es el nmero del botn). Permite especificar la imagen que se mostrar en el botn. La imagen puede ser un icono o un archivo BMP. Esta entrada debe contener la ruta completa relativa a la ubicacin del archivo INI (por ejemplo, si el archivo se encuentra dentro de la carpeta "Iconos", la entrada sera Icono1="Iconos\DirectX.ico").

* Archivox = (Donde x es el nmero del botn). El archivo de instalacin que se ejecutar al pulsar el botn nmero x. Esta entrada debe contener la ruta completa relativa a la ubicacin del archivo INI (por ejemplo, si el archivo se encuentra dentro de la carpeta "DirectX", la entrada sera Archivo1="DirectX\DXSETUP.EXE")

3.1. Conseguir actualizaciones para mi sistema operativo
-----------------------------------------------------------------------------------
Para conseguir nuevas actualizaciones, nada mejor que acudir al sitio web de Windows Update (www.windowsupdate.com). Si quieres guardar las actualizaciones debes hacerlo desde el Catlogo de Actualizaciones, y no desde la pgina principal de Windows Update (en enlace se encuentra en la parte inferior izquierda de la pgina). Si no te aparece el enlace para acceder al catlogo de actualizaciones, ve a la opcin "Personalizar Windows Update", y actvalo all.